// pages/devices-add/index.js
var config = require('../../libs/config.js');
var device = require('../../libs/device.js');
const AUTH = require('../../utils/auth')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    deviceName: "",
    imei: "",
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 先用AUTH检查用户是否登录
    AUTH.checkHasLogined().then(isLogined => {
      // console.log("输出" + isLogined)
      if (isLogined) {
        // 什么也不用做
      } else {
        AUTH.authorize().then(res => {
          //先认证，然后刷新界面
          this.onShow()
        })
      }
    })

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  /**
  * 点击扫描设备二维码
  */
  ScanQRCode() {
    // 必须重新赋值一下，要不然setData没法赋值
    var that = this
    wx.scanCode({
      success(res) {
        that.setData({
          imei: res.result
        });
      },
      fail(err) {
        console.error(err)
        wx.showToast({
          title: "扫码失败",
          icon: 'none'
        })
      }
    })
  },
  saveDevice() {
    if (this.isEmpty(this.data.deviceName) || this.isEmpty(this.data.imei)) {
      wx.showToast({
        title: '名称格式不正确',
        icon: 'error',
        duration: 1000
      })
      return
    }
    if (this.data.imei.length != 15) {
      wx.showToast({
        title: '设备ID错误',
        icon: 'error',
        duration: 1000
      })
      return
    }
    // console.log("要保存的设备SN: " + this.data.imei)
    device.saveDevice(this.data).then(res => {
      wx.showToast({
        title: '添加成功',
        icon: 'success',
        duration: 1000
      })
      //清空数据
      this.setData({
        "imei": "",
        "deviceName": "",
      })
      //刷新上一个界面的数据
      this.refreshPrePage()
    })
  },
  isEmpty(content) {
    if (content == null || typeof (content) == "undefined" || content == "") {
      return true;
    } else {
      return false;
    }
  },
  refreshPrePage() {
    const pages = getCurrentPages()
    const perpage = pages[pages.length - 2]
    // console.log(perpage, '上一个页面的数据')

    if (perpage.route === 'pages/devices/index') {
      // console.log("调用上一个界面刷新")
      //调用上一个界面的刷新
      perpage.onReady()
    }
  }
})